<?php

class Soul_Model_Property_Serialize extends Soul_Model_Property_Base {

    public function __construct() {
        parent::__construct();
        $this->setDefaultValue(array());
    }

    public function convertToDb($value) {
        if(empty($value)){
            return serialize($this->getDefaultValue());
        }
        return serialize($value);
    }
                    
    public function convertFromDb($value){
        if(empty($value)){
            return $this->getDefaultValue();
        }
        return unserialize($value);
    }

    public function validate($value) {
        return true;
    }

    public function getPropertyType() {
        return 'serialize';
    }
    
    public function getParameterType() {
        return 's';
    }    
}